<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Audio Player</title>
    <style>
        body {
            margin: 0;
            padding: 0;
            background: transparent;
            overflow: hidden;
        }
        /* 隐藏所有内容，WebView 仅作为播放器 */
        * {
            display: none;
        }
    </style>
</head>
<body>
    <script>
        // 全局音频对象
        let audioInstance = null;

        // 开始播放音频
        function startAudio(streamUrl) {
            console.log('开始测试音频播放...');
            console.log('流链接:', streamUrl);

            // 如果已有音频实例，先清理
            if (audioInstance) {
                audioInstance.pause();
                audioInstance = null;
            }

            // 创建 Audio 元素
            audioInstance = new Audio();
            
            // 暴露到 window 对象，方便测试访问
            window.audioInstance = audioInstance;

            // 设置音频源（Audio 会自动识别 MIME 类型）
            audioInstance.src = streamUrl;

            // 添加事件监听器
            audioInstance.addEventListener('loadstart', () => {
                console.log('✓ 开始加载音频');
                if (window.Android) {
                    window.Android.onAudioLoadStart();
                }
            });

            audioInstance.addEventListener('loadedmetadata', () => {
                console.log('✓ 音频元数据已加载');
                console.log('  时长:', audioInstance.duration, '秒');
                if (window.Android) {
                    window.Android.onAudioMetadataLoaded(audioInstance.duration);
                }
            });

            audioInstance.addEventListener('loadeddata', () => {
                console.log('✓ 音频数据已加载');
            });

            audioInstance.addEventListener('canplay', () => {
                console.log('✓ 音频可以播放');
                if (window.Android) {
                    window.Android.onAudioReady();
                }
            });

            audioInstance.addEventListener('canplaythrough', () => {
                console.log('✓ 音频可以流畅播放');
            });

            audioInstance.addEventListener('play', () => {
                console.log('▶ 开始播放');
                if (window.Android) {
                    window.Android.onAudioPlay();
                }
            });

            audioInstance.addEventListener('pause', () => {
                console.log('⏸ 暂停播放');
                if (window.Android) {
                    window.Android.onAudioPause();
                }
            });

            audioInstance.addEventListener('ended', () => {
                console.log('■ 播放结束');
                if (window.Android) {
                    window.Android.onAudioEnd();
                }
            });

            audioInstance.addEventListener('error', (e) => {
                console.error('✗ 播放错误:', e);
                let errorMsg = '未知错误';
                if (audioInstance.error) {
                    errorMsg = '错误代码: ' + audioInstance.error.code + ', 消息: ' + audioInstance.error.message;
                    console.error('错误代码:', audioInstance.error.code);
                    console.error('错误消息:', audioInstance.error.message);
                }
                if (window.Android) {
                    window.Android.onAudioError(errorMsg);
                }
            });

            // 尝试加载（不自动播放）
            audioInstance.load();
        }

        // 播放音频
        function playAudio() {
            if (audioInstance) {
                audioInstance.play().then(() => {
                    console.log('✓ 播放成功');
                }).catch((error) => {
                    console.error('✗ 播放失败:', error);
                    if (window.Android) {
                        window.Android.onAudioError('播放失败: ' + error.message);
                    }
                });
            } else {
                console.error('✗ 音频未初始化');
                if (window.Android) {
                    window.Android.onAudioError('音频未初始化');
                }
            }
        }

        // 暂停音频
        function pauseAudio() {
            if (audioInstance) {
                audioInstance.pause();
                console.log('✓ 已暂停');
            } else {
                console.error('✗ 音频未初始化');
            }
        }

        // 停止音频
        function stopAudio() {
            if (audioInstance) {
                audioInstance.pause();
                audioInstance.currentTime = 0;
                console.log('✓ 已停止');
            } else {
                console.error('✗ 音频未初始化');
            }
        }

        // 获取播放进度
        function getAudioProgress() {
            if (audioInstance) {
                const currentTime = audioInstance.currentTime || 0;
                const duration = audioInstance.duration || 0;
                return currentTime + ',' + duration;
            }
            return '0,0';
        }

        // 设置音量
        function setVolume(volume) {
            if (audioInstance) {
                audioInstance.volume = Math.max(0, Math.min(1, volume));
                console.log('音量设置为:', audioInstance.volume);
            }
        }

        // 跳转到指定时间
        function seekTo(time) {
            if (audioInstance) {
                audioInstance.currentTime = time;
                console.log('跳转到:', time, '秒');
            }
        }

        // 页面加载完成
        window.addEventListener('load', () => {
            console.log('音频播放器页面加载完成');
        });

        // 导出函数到全局作用域
        window.startAudio = startAudio;
        window.playAudio = playAudio;
        window.pauseAudio = pauseAudio;
        window.stopAudio = stopAudio;
        window.getAudioProgress = getAudioProgress;
        window.setVolume = setVolume;
        window.seekTo = seekTo;
    </script>
</body>
</html>

